{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "adverse-newman",
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "import mglearn\n",
    "from sklearn.datasets import load_breast_cancer\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn.neighbors import KNeighborsClassifier"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "distinguished-springer",
   "metadata": {},
   "source": [
    "## 单个近邻回归"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "consolidated-agency",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmAAAAGNCAYAAAC2Wc0RAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAABBTUlEQVR4nO3de3xU1bk38N8zk4QwEIJI5GpmVBLIhVsTrVJbjoIVb7VqqdVo7TlHo/DaHtBaa6O2onnFS2+2r0qs2qqxCgqccqlXvNSqaCIEQ7hjJgIRgkgITEKSmfX+kQQhTCaTZGavPWt+388nH8mePXs/a5s1ebKuopQCEREREVnHoTsAIiIionjDBIyIiIjIYkzAiIiIiCzGBIyIiIjIYgm6AyAi/S7DZQMBPAngv5dgyUHd8cQDkUVHnrlSM/nMieKMcBakfZSXl5+UkJDwFwC5YOskWagytbL/S56XTppZPXNPTn1Oo+544sGrrzb0v/322pMefHDEnu9+N4XP3BoBAJWtra3X5+Xl7dEdDMU3toDZSEJCwl+GDx+elZaW9pXD4WBmTJZ5Ba94AGCHZ4fzaly9V3M4cWHevPc9ALB6tcN5220T+cwtEAgEpK6uLvuLL774C4Dv6Y6H4htbWewlNy0t7QCTL7KSgsI6rBsMABWoSFXgj1+0BQIKb765ZzAAvPnmntRAgM/cCg6HQ6WlpdWjrZeBSCsmYPbiYPJFVtuGbcmtaBUAaEWrYzu2J+uOyXSffPJV8uHDfgGApia/Y82a/XzmFmn/jOXvPtKOP4REcW41VqcGEAAABBDAaqxO1RyS8ZYu3ZUaaHvkCASApUt38pkTxRkmYHTE3r17nfPnz0/rzXunTp06Zu/evc5Q58yZM2fk0qVLU3oXXdceeeSRE3/84x+nhzpn+fLlKa+//vqAcK53+PBhyc7OzurL8+ipZ599dnB5ebmWVpDVWD2kFa0OoK0FbDVWn9CX6/X1uc2bN++khoaGbj+bli9fnnLOOeeMCXXO+++/3//FF1+0XXKzdOnOIc3NAQcANDcHHEuX7oyJZx4JLpdrMgBUV1cnzpgx49SexBXO5wxRrOAg/Bj2+OPbhsybVzXqiy+akoYPT26+++7snTfddNq+3l7vyy+/dD755JMn/fKXv6zr/FpLSwsSExO7fO8777yztbvr/+EPf9jV29j6atWqVSkDBw70n3feeYe6O/e1114bePrppx8M9Ty6EggEoJSC09mz3xFLly4d3NraWp+Xl9fUozeG4R7cc9parB3c1etOOI/p9t6Jna7LcFleV+dPwqT9v8avt3X1em+e29EWLFgw7IYbbtiXkpIS6M37j1ZWVuYqKysbcOWVV9b39Vo9cf7575722mu7B3f1emKiHPPMN21qcIks6vKZf/e7w/a/+up3bPvMu/t8CMbj8bS88sor23sSVzifM0Sxgi1gMerxx7cNmTt3rbu2tilJKaC2tilp7ty17scf3zakt9e89dZbR3/++ef9xo0bl33jjTeOXr58eUpeXt7Yc889d0xGRkYuAEyfPv20nJycrDFjxuQ8/PDDQzveO2rUqPG1tbUJmzZtSjr11FNzfvSjH7nHjBmT861vfSvj4MGDAgBXXHGF5+mnnz6h4/y5c+eOzM7OzsrMzMxes2ZNMgDs2rUrYcqUKRljxozJufLKK90jR44cX1tbe9wfCn/84x9P9Hg8uePHj896//33B3Ycf/7551MnTJgwLisrK3vKlCmZn3/+ecKmTZuSnnnmmbTHH3982Lhx47JfeeWVgcHO67jGypUrB1144YUHOj+P+vp6x1lnnZXZEfNzzz03GAA2bdqU5PF4ci+77DJPZmZmzrZt25Juu+22ER6PJzcvL2/sJZdccsrdd989DADWr1/f79vf/nZGTk5OVl5e3tg1a9Ykv/766wPeeOONwXfeeefocePGZa9fv75fb/8fBvMT/GTHKIzyJSEp6C9XP9rGInX1fYckJAVGYZTvJ/jJjlD36/zcAOCuu+4alpubm5WZmZk9d+7ckQBw4MABx3/8x3+MGTt2bHZGRkbOE088ccJ999130p49exKnTp2a+c1vfjOz87VfeumlQaecckpOdnZ21ksvvTS44/hbb73lmjRp0risrKzsyZMnj6uoqOjX1NQk999//8hly5adMG7cuOwnnnjihGDndfsAe+HhhyfuGDs2xde/vzPoM29pURLq+w79+zsD48al+B5+eKK2Zz5q1KjxN9100+jMzMzs8ePHZ1VWVvYD2urz1VdfnT5hwoRxs2bNGh3sZxsANm7cmDRp0qRxmZmZ2T/72c9Gdlx306ZNSRkZGTkA0NraisLCwtEZGRk5mZmZ2cXFxScFi6vjcwYAfvOb3wzLyMjIycjIyJk3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\n",
      "text/plain": [
       "<Figure size 720x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "mglearn.plots.plot_knn_regression(n_neighbors=1)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "honest-apparel",
   "metadata": {},
   "source": [
    "## 多个近邻回归"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "arabic-insertion",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmAAAAGNCAYAAAC2Wc0RAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAABIEklEQVR4nO3deXxU1fk/8M8zk4QwJAQwyGpmRBLIwpq4ILZUQUXBulCKGq22lai8tF+XWpcoKjUVl7ZW+6sat4LGKiDQIhRFQS1VwUQWQ9hpJgJRIggEJuvM+f0xCSZhkkySmbl3znzer1dekjt37n3ONWfy5JxznytKKRARERFR6FiMDoCIiIgo0jABIyIiIgoxJmBEREREIcYEjIiIiCjEoowOgIiMdyWujAPwCoBfL8GSY0bHEwlEFp645kpN5zUnijDCuyDNo6io6NSoqKiXAWSAo5MUQsUJxd0XORadOr10+oH0I+lVRscTCd57r7L7vfeWn/rkkwMOXHRRPK95aHgAFNfX19+UmZl5wOhgKLJxBMxEoqKiXu7fv39q3759v7dYLMyMKWRWYqUDAPY69lqvxbXfGRxORJgz51MHAKxbZ7Hec88oXvMQ8Hg8UlFRkfbNN9+8DOCnRsdDkY2jLOaS0bdv36NMviiUFBQ2Y3MvANiETQkK/PELNo9H4cMPD/QCgA8/PJDg8fCah4LFYlF9+/Y9Au8sA5GhmICZi4XJF4XabuyOrUe9AEA96i17sCfW6Jh09+WX38fW1LgFAKqr3ZYNGw7zmodIw2csf/eR4fhDSBTh1mFdggceAIAHHqzDugSDQ9Le0qX7EzzeSw6PB1i6dB+vOVGEYQJGJ3z33XfWuXPn9u3MeydMmDD0u+++s7a1zx133DFw6dKl8Z2LrnXPPvvsKb/4xS+S2trn3XffjV+1alUPf45XU1MjaWlpqV25Hh31+uuv9yoqKjJkFGQd1vWpR70F8I6ArcO63l05Xlev25w5c06trKxs97Pp3XffjT///POHtrXPp59+2v3tt982XXKzdOm+PrW1HgsA1NZ6LEuX7guLax4INpttDACUlpZGT548eUhH4vLnc4YoXHARfhh74YXdfebMKRn0zTfVMf37x9bOnp2275ZbzjjU2eMdPHjQ+sorr5x63333VbR8ra6uDtHR0a2+9+OPP97V3vGfeeaZ/Z2NratWr14dHxcX577wwguPt7fv+++/H3fmmWcea+t6tMbj8UApBau1Y78jli5d2qu+vv5IZmZmdYfe6IdH8egZG7GxV2uvW2FtNu29D/tsV+LKzNb2H43Rhx/Gw7tbe70z162pF198sd/MmTMPxcfHezrz/qYKCwtthYWFPWbMmHGkq8fqiIsv/uSM99//tldrr0dHS7Nrvn17pU1kYavX/KKL+h1+770fm/aat/f54IvD4ahbuXLlno7E5c/nDFG44AhYmHrhhd197rxzo728vDpGKaC8vDrmzjs32l94YXefzh7z7rvvHvz11193Gz58eNrNN988+N13343PzMwcdsEFFwxNTk7OAIBJkyadkZ6enjp06ND0p59+OrHxvYMGDRpRXl4etX379pghQ4akX3311fahQ4emjx8/PvnYsWMCANOmTXO89tprvRv3v/POOwempaWlpqSkpG3YsCEWAPbv3x917rnnJg8dOjR9xowZ9oEDB44oLy8/6Q+Fv/zlL6c4HI6MESNGpH766adxjdvffPPNhJEjRw5PTU1NO/fcc1O+/vrrqO3bt8fMnz+/7wsvvNBv+PDhaStXrozztV/jMVasWNHz0ksvPdryehw5csQybty4lMaY33jjjV4AsH379hiHw5Fx5ZVXOlJSUtJ3794dc8899wxwOBwZmZmZwy677LLTZ8+e3Q8AtmzZ0u1HP/pRcnp6empmZuawDRs2xK5atarHBx980OvBBx8cPHz48LQtW7Z06+z/Q19uxI17B2GQKwYxPn+5uuFdi9Ta941iEOMZhEGuG3Hj3rbO1/K6AcBDDz3ULyMjIzUlJSXtzjvvHAgAR48etfzkJz8ZOmzYsLTk5OT0l156qfdjjz126oEDB6InTJiQcvbZZ6e0PPaiRYt6nn766elpaWmpixYt6tW4fc2aNbbRo0cPT01NTRszZszwTZs2dauurpbHH3984LJly3oPHz487aWXXurta792L2AnPP30qL3DhsW7une3+rzmdXVK2vq+UffuVs/w4fGup58eZdg1HzRo0IhbbrllcEpKStqIESNSi4uLuwHe/nzttdcmjRw5cvitt9462NfPNgBs27YtZvTo0cNTUlLSfvOb3wxsPO727dtjkpOT0wGgvr4eOTk5g5OTk9NTUlLS8vLyTvUVV+PnDAA88sgj/ZKTk9OTk5PT58yZc2rjMVv7/CEyG46Ahak5c0oGVVd7miXQ1dUey5w5JYM6Owr2xz/+ce/UqVO7b9u2rQTwTvGUlJTYNmzYsGX48OG1AFBQUFDar18/97Fjx2TMmDFp11133ff9+/d3Nz1OWVlZ7BtvvLHn3HPPdV566aVD5s+f33vWrFknxZSYmFhfUlKyde7cuX3nzp3b7+2333bed999AydMmFD5+OOPf7No0aKeCxYsSGz5PqfTGT137tyBRUVFW/v06eM+99xzh2VkZLgA4MILLzx29dVXb7NYLPjTn/6UOGfOnP4vvfTS3l/84hcVcXFx7jlz5nwLABUVFVZf+wHA2rVrez755JPlo0ePrmp6Perq6rB8+fJdffr08ZSXl0edffbZw6+99trDDW3u9sorr/xv4sSJpR9//LFt2bJlvUtKSrbU1NTI6NGj08aMGeMCgJtuusmen5/vHDFiRM3q1at73HrrrUmff/75jkmTJh2eOnXqkV/+8pffd+b/XVvssNf8BX/ZugAL+i3BkoH1qBcF37/wfRGIikKUugJX7J+BGd9a2vm7reXP0eLFi3vu2rUrdvPmzVuVUpg0adLQf//733HffvttVP/+/es++uijXYB3FOeUU05xP//88/0+/vjjHQMGDKhvelyXyyW33XabY9WqVdvT09Nrpk6demL6atSoUdVffPHFtujoaCxdujT+d7/73eD33ntv9/3337+/sLCwx/z588sA4NChQxZf+3XgcvplxIiEmuLii7bOmVPS76mntg+srfWIxwO/r7nFAhUTY1H33JOyf/bs9G+t1rbfGqxr3ighIaF+x44dJX/9619Puf32209bs2bNLgAoLy+P+fLLL7dFRUVh3LhxKb5+tmfNmpV00003Vdx2220HH3/8cZ/TpH/84x/7lpWVxZSUlGyJjo7Gt99+a+3Xr1+rcf3nP/+xvfnmm6cUFRVtVUohMzMzdeLEiZWJiYlufz9/iIzGBCxMffNNdUxHtnfWyJEjjzcmXwDwxBNP9Fu+fHkv77m+id6yZUts//79m03rDRo0qObcc8+tAoAxY8a4SktLfY4yXHvttd8DwFlnneX617/+1RsA1q9fH7d06dJdAPCzn/3saM+ePd0t3/fJJ5/0OOeccyoHDhxYDwBXXXXVoR07dsQCwP/+97+YK664YnBFRUV0bW2t5bTTTqvxde7W9vvf//4X3atXr3pfUzEej0fuuOOOwZ9//nmcxWLBgQMHYvbu3RsFAAMGDKidOHHicQD4+OOP4y655JLDNptN2Ww2deGFFx4GgCNHjlg2bNgQN3369DMaj1lbWxuSv86tsOIaXPPtuTj38FN4akgFKmJrUdvuCHgMYjx90bf6Htyzxw67z2vZnpUrV/b85JNPeqalpaUBgMvlsmzbti124sSJlbm5uafdeuutgy6//PIjkydPbrMa/MaNG2MHDx5cM2LEiBoAyM7OPvjyyy/3BYBDhw5ZZ8yYcXppaWmsiKi6ujqf19Xf/QIhKsqCOXMyvp0+/bTD06d/NqSszBVbVeVu95rHxlo8DkeP6gULxu0ZMSLB0Gve6IYbbjgEADNnzjz04IMPnta4/aqrrvo+KiqqzZ/tL7/8Mu7f//73bgC4+eabD/7+978f3PL4q1ev7nnLLbdUNE5j9uvX76R+39RHH30Ud+mllx7u2bOnBwCmTJny/Zo1a+KnT59+2N/PHyKjcQoyTPXvH1vbke2dZbPZTiQi7777bvzHH38cX1hYuG379u0lqampVVVVVSf9DMXExJxY32K1WlV9fb3PX3KxsbEKAKKiolrdp6Nuu+22pFmzZh1o+GvdWVNT4/NnvLX9li5dmjBp0iSf64VefPHFPgcPHoz66quvtm7btq3klFNOqWtsf9Pr1Bq32434+Pj6bdu2lTR+7dmzZ0tX2ttRjaNhl+LS8ihEtVnyJApR6lJcWv4snt3a2eQLAJRSuOOOO8ob21xWVlZ85513fjdy5MiaL7/8smTEiBFVDz300KDf/va3Azp7jnvvvXfQhAkTKnfu3Lll2bJlu2prfSeX/u4XSI2jYbfdNrQ8JqbtMjMxMRZ1++3J5cXFF2/tbPIFBP6aWyw/XCaRH9avxcXFeYD2f7ZDWV7H388fIqMxAQtTs2en7YuNtTT7pR8ba/HMnp22r7PHTEhIcB8/frzVn4nDhw9bExIS3PHx8Z4NGzbEbtq0ya+7CjvizDPPPPb666/3AbzTKEePHj1pNfuPf/zj4+vWrYv/5ptvrDU1NbJkyZITd5BVVlZak5KS6gDg73//+ymN2+Pj492VlZXW9vZ7//33e/70pz89Cpx8PY4cOWJNTEys69atm1q2bFn8/v37fY42Tpgw4dh7772X4HK55MiRI5YPPvigFwD06dPHM3jw4NpXX321N+BdsP/ZZ591B4C4uDj30aNHQ9IfrbDCAUe1Fb7XJzXZz+OAo6q9KceWWl63Sy655Ojrr7+eeOTIEQvgHWXct29fVGlpaXR8fLxn1qxZh+66665vNm7caAOAHj16uBv3bWr06NHV+/bti2lcI/fWW2+dWO949OhR6+DBg2sB4MUXXzwxbd2zZ0/3sWPHLO3tF2xRURaMHJlQHR0tbV7z6GjxjBqVUNXelGNLwbrmjebPn98HAF555ZXeY8aMOelGlrZ+tseOHXvspZde6gMAL7300ikt3wsAEydOPPriiy8m1tXVAQC+/fZba1txnX/++cdWrFjRq7Ky0nL06FHLihUrep9//vmVfl4uIlNgAhambrnljEN//vNo54ABsbUiwIABsbV//vNoZ1fuguzfv787MzPzWHJycnrjQt6mpk2bdqS+vl6GDBmSfs899wwaNWpUu3cUdtTcuXP3r169umdycnL6ggULeicmJtb16tWr2XSE3W6vu/fee/efc845qVlZWcNTUlJO3DmYm5u7/5prrjkjPT099ZRTTjmxbmTatGmHly9f3qtxEb6v/err61FaWho7ZsyYal/X46abbjq0adOmHikpKWnz5s075fTTT/d5x+KECRNckydPPpKWlpZ+wQUXJA8bNqwqISHBDQD/+Mc/9rz22muJjYug33nnnV4AkJ2dfejZZ5/tn5qaGvBF+L58js971aCmzVs1a1Bj7UxJipbX7aqrrjo6ffr0Q2eeeebwlJSUtCuvvPKMw4cPW4uKirqPHj06dfjw4Wl5eXkDZ8+eXQ4AN9xww3eTJ08+aUG4zWZTzz33nHPq1KlD09LSUhMTE0/8/7333nu/eeSRRwanpqam1df/sFzokksuqdyxY0f3xkX4re0XCkuW7OvlcrnbvOYul9u6ZEnHS1IE65o3+v77760pKSlpf/vb3/o9++yzX/vap7Wf7b/97W9l+fn5p6akpKTt27fP562Sd955Z8XgwYNrhw8fnj5s2LC0V155pU9bcZ133nmua6+99uDYsWNTMzMzU6+//vqK8ePH83maFFb4MG4T2bRpU+moUZH9TLiqqiqJiopS0dHR+OCDD3rcdttt9saFxcH23nvvxc2bN6/Pm2++WdbVYx05csSSkJDgqaystIwbN27YCy+84DzvvPNcgYizqxQUrsN1o11wnUgGGhfa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\n",
      "text/plain": [
       "<Figure size 720x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "mglearn.plots.plot_knn_regression(n_neighbors=3)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "bulgarian-specific",
   "metadata": {},
   "source": [
    "## 使用K近邻回归算法"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "posted-extent",
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.neighbors import KNeighborsRegressor"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "residential-diameter",
   "metadata": {},
   "outputs": [],
   "source": [
    "X, y = mglearn.datasets.make_wave(n_samples=40)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "israeli-blake",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 将wave数据集分为训练集和测试集\n",
    "X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "experimental-bottom",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 模型实例化，并将邻居个数设置为3\n",
    "reg = KNeighborsRegressor(n_neighbors=3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "everyday-target",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "KNeighborsRegressor(n_neighbors=3)"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 利用训练数据和训练目标值来拟合模型\n",
    "reg.fit(X_train, y_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "appropriate-intent",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([-0.05396539,  0.35686046,  1.13671923, -1.89415682, -1.13881398,\n",
       "       -1.63113382,  0.35686046,  0.91241374, -0.44680446, -1.13881398])"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 对测试集进行预测\n",
    "reg.predict(X_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "suspended-consumer",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.8344172446249605"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 分数评估\n",
    "reg.score(X_test, y_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "honey-daniel",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "failing-acting",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "figured-stress",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.5"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
